<div class="paragraph">
<p>Shared naming conventions allow teams to collaborate efficiently. This rule checks whether or not method and property names are PascalCased. To reduce noise, two consecutive upper case characters are allowed unless they form the whole name. So, <code>MyXMethod</code> is compliant, but <code>XM</code> on its own is not.</p>
</div>
<div class="sect1">
<h2 id="_noncompliant_code_example">Noncompliant Code Example</h2>
<div class="sectionbody">
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-javascript" data-lang="javascript">public int doSomething() {...}</code></pre>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_compliant_solution">Compliant Solution</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Don&#8217;t do anything</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_exceptions">Exceptions</h2>
<div class="sectionbody">
<div class="ulist">
<ul>
<li>
<p>The rule ignores members in types that are marked with <code>ComImportAttribute</code> or <code>InterfaceTypeAttribute</code>.</p>
</li>
<li>
<p>The rule ignores <code>extern</code> methods.</p>
</li>
<li>
<p>The rule allows for two-letter acronyms in which both letters are capitalized, as shown in the following identifier: <code>ExecuteOnUIThread</code>.</p>
</li>
<li>
<p>Furthermore, when <code>'_'</code> character is found in a name, the camel casing is not enforced.</p>
</li>
</ul>
</div>
<div class="listingblock">
<div class="content">
<pre>void My_method(){...} // valid
void My_method_(){...} // invalid, leading and trailing underscores are reported</pre>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_see">See</h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/capitalization-conventions">Microsoft Capitalization Conventions</a></p>
</div>
</div>
</div>